The automatic identification industry has improved the productivity and efficiency with which data may be collected in inventory control, product flow, quality control, purchasing, and other related business activities. One automated mechanism for collecting data is through the use of devices that read and decode bar codes, for example bar codes on product labels in retail applications.
A number of different bar code readers and laser scanning systems have been developed to read and interpret bar codes. In general, bar code scanners utilize a laser diode to produce a beam that is scanned across the bar code in a manner to enable reflections returned by the scanning beam to be analyzed and interpreted. However, as the need for greater information storage capacity has increased, traditional bar codes (e.g., a one-dimensional array of spaced lines of varying widths) are being replaced with symbol codes (e.g., two-dimensional bar codes or “matrix codes”).
Symbol codes generally comprise multiple rows of lines and spaces stacked upon one another, and are generally capable of storing approximately 100 times more information in the same space occupied by a traditional one-dimensional bar code. Symbol code scanners typically consist of an imaging system including a charge coupled device (“CCD”) that captures an image, stores the image in a memory, and then processes the image using software to convert the captured image into an output signal, which may be interpreted for a given application.
Some applications require reading images (i.e., symbol codes) at a relatively high speed as the image is presented to the reader via a conveyor belt, for example. These applications are prevalent in small package distribution, letter sorting, and in industrial and pharmaceutical manufacturing, for instance. When imaging at high speed, one problem typically encountered is the difficulty in maintaining image-processing quality. Image-processing quality is a measure of good and accurate reads of the target symbol codes. For example, in a high-speed conveyor belt application, a trigger (e.g., an optical sensor) may be used to indicate (e.g., based on timing or physical parameters), to the imaging system, the time to capture an image (i.e., the moment when the symbol code is within the field of view of the imaging system). If the imaging system is unable to capture a complete image of the target symbol code, the imaging system may inaccurately identify a component (to which the symbol code is affixed) as being unacceptably labeled, and cause the component to be removed from the line.
The image capture elements (e.g., a lens and CCD array) of an imaging system generally have only a limited field of view. As such, it is imperative that the target symbol code be positioned in a location, at the time of image capture, to enable a complete image of the symbol code to be captured for processing and interpretation in order to maintain high image-processing quality for a given application. Depending on the speed of the application, slight discrepancies in the speed of the conveyor belt, or the position of the symbol code on a component, for example, can greatly impact image-processing quality.